package com.baibei.pay.recharge;

import com.baibei.basic.IPresenter;
import com.baibei.basic.IPresenterView;
import com.baibei.model.PayModeInfo;
import com.baibei.model.RechargeAmountInfo;

import java.util.List;

/**
 * 充值的契约界面
 * Created by shenminjie on 2017/8/15.
 * mail:shenminjie@100bei.com
 */

class RechargeContract {

    /**
     * 充值视图
     */
    interface RechrageView extends IPresenterView {

        /**
         * 加载余额
         *
         * @param balance balance
         */
        void onLoadBalance(double balance);

        /**
         * 加载余额失败
         *
         * @param msg msg
         */
        void onLoadBalanceFailed(String msg);

        /**
         * 显示loading
         */
        void showLoading();

        /**
         * 隐藏Loading
         */
        void hideLoading();

        /**
         * 资金时间信息
         *
         * @param msg msg
         */
        void onShowFundTimeInfo(String msg);

        /**
         * 充值金额信息
         *
         * @param list list
         */
        void onLoadRechargeAmount(List<RechargeAmountInfo> list);

        /**
         * 最小金额
         *
         * @param min min
         */
        void onLoadMinAmount(double min);

        /**
         * 加载支付方式
         *
         * @param list list
         */
        void onLoadPayModeList(List<PayModeInfo> list);

        /**
         * 加载基础信息失败
         *
         * @param msg msg
         */
        void onLoadBasicInfoFailed(String msg);

        void onLoadHelpSuccess(String s);
    }

    /**
     * 充值展现层
     */
    interface Presenter extends IPresenter {

        /**
         * 获取余额
         */
        void getBalance();

        /**
         * 获取界面一系列信息
         * 充值金额列表，充值方式，充值时间
         */
        void getRechargeInfo();

        void getHelp();
    }
}
